// @ts-check

const path = require('path');

/**@type {import('webpack').Configuration}*/
const config = {
  target: 'node', // vscode extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/
  // entry: './src/mvn-ci-t.ts', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/
  entry: './src/mvn-ci.ts', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/
  output: { // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/
    path: path.resolve(__dirname, 'dist'),
    filename: 'mvn-ci.js',
    libraryTarget: "commonjs2",
    // libraryTarget: 'var',
    devtoolModuleFilenameTemplate: "../[resource-path]",
  },
  devtool: 'source-map',
  // externals: {
  //     clipboardy: "commonjs clipboardy",
  //     jsonpath: "commonjs jsonpath",
  //     vscode: "commonjs vscode" // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/
  // },
  resolve: { // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader
    extensions: ['.ts', '.js']
  },
  module: {
    rules: [{
      test: /\.(ts|js)$/,
      exclude: /node_modules/,
      use: [{
        loader: 'ts-loader',
      }]
    // },{
    //   test: /\.js$/,
    //   exclude: /node_modules/,
    //   use:[{
    //     loader:'babel-loader'
    //   }]
    }]
  },
}


module.exports = config;